

from Reg import *

import token_cshape



@RegLanguage(language="cshape", extension=['cs'])
def cshape_language():
    return [
        "identifier_noname",
        "number_noname",
        "string_noname",
        "char_noname",
        "block_comment",
        "line_comment",

        "Keyword_abstract",
        "Keyword_as",
        "Keyword_base",
        "Keyword_bool",
        "Keyword_break",
        "Keyword_byte",
        "Keyword_case",
        "Keyword_catch",
        "Keyword_char",
        "Keyword_checked",
        "Keyword_class",
        "Keyword_const",
        "Keyword_continue",
        "Keyword_decimal",
        "Keyword_default",
        "Keyword_delegate",
        "Keyword_do",
        "Keyword_double",
        "Keyword_else",
        "Keyword_enum",

        "Keyword_event",
        "Keyword_explicit",
        "Keyword_extern",
        "Keyword_false",
        "Keyword_finally",
        "Keyword_fixed",
        "Keyword_float",
        "Keyword_for",
        "Keyword_foreach",
        "Keyword_goto",
        "Keyword_if",
        "Keyword_implicit",
        "Keyword_in",
        "Keyword_int",
        "Keyword_interface",
        "Keyword_internal",
        "Keyword_is",
        "Keyword_lock",
        "Keyword_long",

        "Keyword_namespace",
        "Keyword_new",
        "Keyword_null",
        "Keyword_object",
        "Keyword_operator",
        "Keyword_out",
        "Keyword_override",
        "Keyword_params",
        "Keyword_private",
        "Keyword_protected",
        "Keyword_public",
        "Keyword_readonly",
        "Keyword_ref",
        "Keyword_return",
        "Keyword_sbyte",
        "Keyword_sealed",
        "Keyword_short",
        "Keyword_sizeof",
        "Keyword_stackalloc",

        "Keyword_static",
        "Keyword_string",
        "Keyword_struct",
        "Keyword_switch",
        "Keyword_this",
        "Keyword_throw",
        "Keyword_true",
        "Keyword_try",
        "Keyword_typeof",
        "Keyword_uint",
        "Keyword_ulong",
        "Keyword_unchecked",
        "Keyword_unsafe",
        "Keyword_ushort",
        "Keyword_using",
        "Keyword_virtual",
        "Keyword_void",
        "Keyword_volatile",
        "Keyword_while",


        "Keyword_add",
        "Keyword_and",
        "Keyword_alias",
        "Keyword_ascending",
        "Keyword_async",
        "Keyword_await",
        "Keyword_by",
        "Keyword_descending",
        "Keyword_dynamic",
        "Keyword_equals",
        "Keyword_from",

        "Keyword_get",
        "Keyword_global",
        "Keyword_group",
        "Keyword_init",
        "Keyword_into",
        "Keyword_join",
        "Keyword_let",
        "Keyword_managed",
        "Keyword_nameof",
        "Keyword_nint",
        "Keyword_not",

        "Keyword_notnull",
        "Keyword_nuint",
        "Keyword_on",
        "Keyword_or",
        "Keyword_orderby",
        "Keyword_partial",
        "Keyword_record",
        "Keyword_remove",
        "Keyword_select",

        "Keyword_set",
        "Keyword_unmanaged",
        "Keyword_value",
        "Keyword_var",
        "Keyword_when",
        "Keyword_where",
        "Keyword_with",
        "Keyword_yield",

        "Symbol_operator_lambda",

        "Symbol_operator_left_shift_assign",
        "Symbol_operator_right_shift_assign",
        "Symbol_operator_arrow",
        "Symbol_operator_add_assign",
        "Symbol_operator_subtract_assign",
        "Symbol_operator_multiply_assign",
        "Symbol_operator_divide_assign",
        "Symbol_operator_modulus_assign",
        "Symbol_operator_bit_and_assign",
        "Symbol_operator_bit_exclusive_or_assign",
        "Symbol_operator_bit_inclusive_or_assign",
        "Symbol_operator_bit_left_shift",
        "Symbol_operator_bit_right_shift",
        "Symbol_operator_equal",
        "Symbol_operator_notequal",
        "Symbol_operator_ge",
        "Symbol_operator_le",
        "Symbol_operator_increment",
        "Symbol_operator_decrement",
        "Symbol_operator_and",
        "Symbol_operator_or",

        "Symbol_lparenthese",
        "Symbol_rparenthese",
        "Symbol_lbracket",
        "Symbol_rbracket",
        "Symbol_lbrace",
        "Symbol_rbrace",
        "Symbol_comma",
        "Symbol_dot",
        "Symbol_question",
        "Symbol_colon",
        "Symbol_semicolon",
        "Symbol_operator_assign",
        "Symbol_preprocess",

        "Symbol_operator_indirection",
        "Symbol_operator_addressof",
        "Symbol_operator_plus",
        "Symbol_operator_negation",
        "Symbol_operator_multiplication",
        "Symbol_operator_division",
        "Symbol_operator_modulus",
        "Symbol_operator_logical_negation",
        "Symbol_operator_greater",
        "Symbol_operator_less",
        "Symbol_operator_not",
        "Symbol_operator_bit_and",
        "Symbol_operator_bit_or",
        "Symbol_operator_bit_xor",
        "Symbol_operator_bit_complement",
        
    ]